package com.ruoyi.checksystem.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 广告对象 popup_details
 * 
 * @author ruoyi
 * @date 2025-03-19
 */
public class PopupDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 滚动信息内容 */
    @Excel(name = "滚动信息内容")
    private String scrollingInfo;

    /** VIP套餐展示信息（JSON格式，[{"duration": "365天", "price": 768}, {"duration": "180天", "price": 388}, ...]) */
    @Excel(name = "VIP套餐展示信息", readConverterExp = "[{\"duration\":\"365天\",\"price\":768},{\"duration\":\"180天\",\"price\":388}]")
    private String vipPackages;


    /** 活动到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationDate;

    /** 联系方式（电话、邮箱等） */
    @Excel(name = "联系方式", readConverterExp = "电=话、邮箱等")
    private String contactInfo;

    /** 说明区域内容 */
    @Excel(name = "说明区域内容")
    private String description;

    /** 客服二维码URL */
    @Excel(name = "客服二维码URL")
    private String qrCodeUrl;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer displayOrder;

    /** 删除标记（Y已删除，N未删除） */
    @Excel(name = "删除标记", readConverterExp = "Y=已删除,N=未删除")
    private String isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setScrollingInfo(String scrollingInfo) 
    {
        this.scrollingInfo = scrollingInfo;
    }

    public String getScrollingInfo() 
    {
        return scrollingInfo;
    }

    public void setVipPackages(String vipPackages) 
    {
        this.vipPackages = vipPackages;
    }

    public String getVipPackages() 
    {
        return vipPackages;
    }

    public void setExpirationDate(Date expirationDate) 
    {
        this.expirationDate = expirationDate;
    }

    public Date getExpirationDate() 
    {
        return expirationDate;
    }

    public void setContactInfo(String contactInfo) 
    {
        this.contactInfo = contactInfo;
    }

    public String getContactInfo() 
    {
        return contactInfo;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setQrCodeUrl(String qrCodeUrl) 
    {
        this.qrCodeUrl = qrCodeUrl;
    }

    public String getQrCodeUrl() 
    {
        return qrCodeUrl;
    }

    public void setDisplayOrder(Integer displayOrder) 
    {
        this.displayOrder = displayOrder;
    }

    public Integer getDisplayOrder() 
    {
        return displayOrder;
    }

    public void setIsDeleted(String isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public String getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("scrollingInfo", getScrollingInfo())
            .append("vipPackages", getVipPackages())
            .append("expirationDate", getExpirationDate())
            .append("contactInfo", getContactInfo())
            .append("description", getDescription())
            .append("qrCodeUrl", getQrCodeUrl())
            .append("displayOrder", getDisplayOrder())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
